Single computers or so-called workstation computers, which may be a conventional personal computer (PC) or a workstation, have been highly improved in the last years with regard to their computing speed and therefore computing performance so that a plurality of programs, both in the private and the commercial field, are executable with them. In particular, in the commercial field, for example for organization of medium or big companies, for simulation of application and production sequences, but also in the field of research and science, the computing performances of the PCs having presently the highest performance, however, are not adequate to process the pending amount of data in an economically acceptable time period. Usually, for such computing intensive tasks, so-called large-scale computers have to be accessed, which are however very cost-intensive.
Since a long time, it was tried, by setting up a computer network out of several parallel connected single computers, which are each realized by a common PC, to provide a cost-effective alternative to large-scale computers. Thereby, the single computers usually comprise standard processors which have, contrary to special processors, a better price-performance-ratio and shorter further development times. The set up or architecture of such a computer network, which is also designated as parallel computer, is therefore limited to the expansion of the Uni-Processor-Architecture with a communication interface, which realizes the communication between the single processors, as well as the replication of the expanded Uni-Processor-Architecture.
To set up a known computer network, a number of workstation computers, so-called (computing-) nodes, a special high performance network SAN (System Area Network), which is operated additionally to a standard network LAN (Local Area Network), as well as an operation system for the computing nodes are used. At present, systems with common processors are used as workstation computers or computing nodes in a known computer network. Apart from single processor systems (Uni Processors), small SMP (Symmetrical Multi Processor) systems (Dual Processors) may also be used as node computers. The expansion of the node computers (main memory, hard disks, processors, etc.) further depends to a great extent from the user's demand.
The conventional process for integration of a network within the operation system of a single computer is depicted in FIG. 1. Main component in an operation system kernel 10 is a first network specific device driver 11 for the standard network LAN and a second network specific device driver 12 for the high performance network SAN. Both parallel arranged device drivers 11 and 12 are accessed depending on an in advance connected network selection unit 13 and each adjust the network specific communication interface to the interface expected by the network protocols. Specific control of the network as well as its integration is to a great extent hidden from the user. He further uses the communication operations provided by a system library 14 and only after servicing the communication protocols in a protocol unit 15 within the operation system kernel 10, the actual transition to the different communication networks takes place. Therefore, the conventional communication path occurs starting from an application A or B, eventually by using a programming environment 26 via the communication interface 23 of the system library 14, the access to the operation system 10, the servicing of the communication protocols in the protocol unit 15, the network selection in the network selection unit 13, the control via the respective device driver 11 or 12 till the access to the hardware in form of a network card 16 or 17 belonging to the selected network.
In case of corresponding balance between communication—and computing performance, large-scale computers have an essential significance, as shown by their increasing distribution. However, success of computer bundles—as cost-effective alternative to large-scale computers—is up to now rather moderate and limited to special application classes having low communication effort. One reason for this lies in the low to moderate data transfer performance for available communication networks in the LAN sector, which however was removed by the arrival of new high performance networks in the SAN sector. When using such high performance networks, however, it is getting very soon obvious that the conventional communication path anchored in the operation system—as described above—is not able to exhaust also not approximately, the performance potential of the high performance networks. The reason for this lies in the architecture of the communication path itself, as well as in the usage of standardized communication protocols (e.g. TCP/IP), which all were not designed for the needs of parallel processing, but for usage in long-distance networks.
A limited function scope of the networks used in the long-distance field involves mechanisms for path finding, flow control, fragmenting or defragmenting, sequence maintainance, buffer storage, error detection and error handling, which are all included in the functional scope of standardized communication protocols (e.g. TCP/IP). Further, standardized communication protocols often provide functionalities, which are rather troublesome during usage in parallel systems. That are especially fixed packet sizes, large-scale check sum calculations, several protocol layers and a plurality of information in the packet headers. The unavoidable providing of this information costs time, which is undesired delay time from the program developer's perspective. To complicate it, a communication path depicted in FIG. 1 is not able to adjust itself to the functionality of the underlying networks and always assumes a provided minimum scope. Just this leads, when employing special high performance networks, to implementation of already present functionality within the protocol software, which considerably delays its servicing, and decisively hinders the application stuck thereon.
For solving this problem, it is known to use methods for latency time reduction, which focus on eliminating, as far as possible, inefficiencies on the communication path. Thereby, starting points are not only at the employed communication networks, but above all at the employed network protocols, the interaction with the operation system as well as the definition and the substance of the communication interface provided on the application layer. Reduction of communication latency times is based on specific relocation of tasks from higher layers to lower layers of the communication path or communication hardware, which leads to restructuring of the communication path in its entirety.